﻿using MiniFox.Infrastructure;
using MiniFox.Platform;
using MiniFox.Resources;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Sys.Core.Models.VO
{
    /// <summary>
    /// 
    /// </summary>
    [Table("user")]
    public class UserVo
    {
        [Column("userId")]
        [JsonProperty("userId")]
        public string UserID { get; set; }

        [Column("loginName")]
        [JsonProperty("loginName")]
        public string LoginName { get; set; }

        [Column("displayName")]
        [JsonProperty("displayName")]
        public string DisplayName { get; set; }

        [Column("secEmail")]
        [JsonProperty("secEmail")]
        public string SecEmail { get; set; }

        [Column("cellphone")]
        [JsonProperty("cellphone")]
        public virtual string Cellphone { get; set; }

        [Column("userStatus")]
        [JsonProperty("userStatus")]
        public IdentityStatus UserStatus { get; set; }

        [Column("createTime")]
        [JsonProperty("createTime")]
        public DateTime CreateTime { get; set; }

        [Column("updateTime")]
        [JsonProperty("updateTime")]
        public DateTime UpdateTime { get; set; }

        [JsonProperty("roles")]
        public RoleVo[] Roles { get; set; }

    }

}
